home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 11
/
Cream of the Crop 11-1.iso
/
comm
/
slip_mud.zip
/
PHONE.DOC
< prev
next >
Wrap
Text File
|
1994-02-08
|
46KB
|
1,362 lines
SLIP package Page 1 March 1, 1993
What is SLIP? 1
How Does It Work? 1
What is the SLIP package? 3
SLIP.BAT 3
UMSLIP.COM 3
TERMIN.COM 3
PHONE.EXE 3
Documentation 3
SLIPDISK 3
Where to Get It 4
SLIP.BAT 4
SETUP 4
POPMAIL 4
GOPHER 5
TELNET 5
FTP 5
QUIT 5
UMSLIP.COM 5
TERMIN.COM 5
PHONE.EXE 6
The HELP system (F1 Key) 6
Hot Keys 6
Cross-References (Hypertext) 7
Mouse 7
Previous Key (Alt-F1) 7
Index 7
Contents 7
Help-with-Help 7
The Primary Screen 8
The Menu Bar 8
Selecting from the Menu Bar 8
The System (Alt-Space) 9
Actions (Alt-A) 9
Setup (Alt-S) 10
Server Window 19
Time Display 20
The Lower Status Bar 20
Active Keys display 20
Context-Sensitive display 20
Transaction Log Window 20
Command-line operations 20
PHONE DIAL 21
PHONE HANGUP 21
PHONE FORCE <command> 21
PHONE WRITE 21
PHONE ? 21
Scripts 21
Built-in scripts 22
How to make custom scripts 22
PHONE WRITE 22
PHONE.CMD 22
The SLIPScript Language 23
SLIPScript Elements 23
SLIPScript commands 23
Writing a script 30
Debugging a script 30
Let us know about your scripts. 31
What is SLIP?
SLIP stands for Serial Line Internet Protocol, and is a way to
establish a network connection through a modem. What this means
is that programs like POPMail, Gopher and NCSA Telnet will operate
over telephone lines and through your modem, as if connected to the
network by a network card.
Normal network connections are usually very fast (on the order of 10
million bits per second, as compared with 10 thousand bits per
second with the fastest modem), so applications running over a SLIP
connection may seem to run somewhat more slowly than they would
on a hardwired network connection.
However, there are many advantages to using networked
applications rather than standard modem communication programs
such as Procomm. For one, you can take advantage of client-server
protocols such as Gopher or POP, which allow your computer to do
some of the computing work, and to store the files received on your
hard drive rather than on a remote host computer. Another
advantage is the ability to run multiple sessions: programs like NCSA
Telnet will allow you to connect to multiple hosts at one time, and to
transfer files in the background while working in another window.
In order for this to work, your local network must have a "SLIP
server". A SLIP server is a computer which monitors incoming
modems for SLIP connections and translates the modem signals into
standard TCP/IP network signals. You may also have some form of
security system controlling who can connect to a SLIP server and
receive an IP address. You should check with your local network
administrator to see if SLIP is available.
How Does It Work?
Developers of network applications often design their software to use
the Packet Driver Specification. A packet driver is a small piece of
software that handles communications between your computer and
the outside world. A packet driver communicates with an ethernet
board, a Token Ring card, a serial communications port, or some
other piece of hardware that is connected to the network. It
provides the "glue" that allows the network application to
communicate properly with the network. Applications written to the
Packet Driver Specification do not need to know how to communicate
with ever possible network adapter; they just need tonow how to
address the packet driver. Figure 1 shows how this works.
Figure 1. How network packet drivers work.
The UMSLIP packet driver is written specially for SLIP
communications, and uses your serial port instead of a network
adapter card to make a network connection.
Figure 2. How UMSLIP makes a network connection
Network applications such as POPMail and Gopher talk only to the
packet driver interface to get their information. The UMSLIP packet
driver replaces the packet driver normally used with a network
adapter card, and sends the data out the serial port of your
computer instead (Figure 2). The network application can't tell the
difference: it's only talking to the interface. So all your network
applications function as if they are physically connected to the
network.
What is the SLIP package?
Everything that's necessary to make a SLIP connection can be found
together in the SLIP.ZIP compressed file. These include:
SLIP.BAT
A convenient batch file which makes it easy to use all of the network
applications with SLIP.
UMSLIP.COM
The SLIP packet driver which translates program network signals
into modem signals.
TERMIN.COM
The unaltered NCSA TERMIN.COM program for removing
UMSLIP.COM from memory.
PHONE.EXE
The program which dials the telephone and establishes a SLIP
connection.
Documentation
PHONE.DOC is this file
PHONE.HLP is the on-line help database for PHONE.EXE
README.TXT is the help file for SLIP.BAT.
UMSLIP.DOC is a help file for UMSLIP.COM.
SLIPDISK
As a supplement to the basic SLIP package contained in SLIP.ZIP, an
automatic installation package is available called SLIPDISK.ZIP. It
contains the PHONE, POPMAIL, GOPHER, and NCSA Telnet and FTP
programs, plus the installation program.
Where to Get It
SLIP.ZIP and SLIPDISK.ZIP are available via anonymous FTP from
boombox.micro.umn.edu in the /pub/slip directory. SLIPDISK.ZIP is
in the slipdisk subdirectory, and is easiest to use when unzipped onto
a 1.44Meg 3 1/2" disk labelled DISK1. To do so, type the command
PKUNZIP -D SLIPDISK.ZIP A:
SLIP.BAT
SLIP.BAT is a batch file that automates SLIP. Simply type "SLIP
XXXXX" to run option XXXXX via a SLIP connection.
The SLIP batch file will:
1) Check to see if the UMSLIP packet driver is loaded, and loads it if
necessary.
2) Check to see if there already is a SLIP connection and creates one
only if necessary.
3) Run the program requested if everything is correct.
SLIP SETUP
Before you can successfully establish a SLIP connection, you need to
set up both your Modem parameters (Baud Rate, Word Length, etc.)
and your SLIP parameters (Username, Password, etc.) The command
SLIP SETUP will automatically run the PHONE program and present
the configuration screens for easy access.
SLIP POPMAIL
Establishes the SLIP connection if necessary, then runs POPMAIL.
SLIP GOPHER
Establishes the SLIP connection if necessary, then runs GOPHER.
SLIP TELNET <parameters>
Establishes the SLIP connection if necessary, then runs TELNET. For
example:
SLIP TELNET LUMINA.LIB.UMN.EDU
SLIP FTP <parameters>
Establishes the SLIP connection if necessary, then runs FTP. For
example:
SLIP FTP BOOMBOX.MICRO.UMN.EDU
SLIP QUIT
If you are all done using slip and want to free up about 6k of
memory, you can type "SLIP QUIT". This disconnects your modem,
and then unloads the UMSLIP.COM packet driver from memory.
UMSLIP.COM
The PHONE program needs the UMSLIP packet driver in order to talk
to the modem. If you use the SLIP.BAT batch file, it will
automatically run UMSLIP for you.
If you want, you can run UMSLIP from your AUTOEXEC.BAT file to
ensure that it is always ready.
UMSLIP uses about 6k of RAM.
TERMIN.COM
TERMIN.COM will remove the UMSLIP.COM packet driver from
memory. See SLIP QUIT above.
PHONE.EXE
PHONE establishes a connection to the SLIP server or terminates an
active connection. It does this by sending commands to your modem
to dial the phone, and then sending your login information to
validate the connection with the SLIP server. The UMSLIP.COM
program must be run before PHONE.EXE.
The HELP system (F1 Key)
To access PHONE's Help System, press the F1 key. A window will
open containing information about the menu item or dialog box field
that is currently in the foreground. This is known as "context-
sensitive" help.
You can browse through the help text using the
Description Key
up arrow -
down arrow /
Page Up PgUp
Page Down PgDn
keys on the keypad.
When you are finished using the help, press the Escape (Esc) key.
Hot Keys
Some menu commands are considered to be so important that they
need to be available with a quick keypress short-cut: a "hot key"
that goes straight to that command. Hot keys for PHONE are shown
below.
Hot-Key Command
F1 Help
F2 Dial
F3 Hang up
F5 Exit
Alt-X Exit
Cross-References (Hypertext)
Some help messages contain Cross-References to other topics. Cross-
References are displayed in a different color from normal help text.
One cross-reference is always highlighted. If you press Enter, the
help message associated with the cross-reference is displayed. If
there are several cross-references within a help message, you can
press the Tab or Shift-Tab keys to move the highlight to the next or
previous cross-reference.
Mouse
If your computer has a mouse, move the cursor over a cross-
reference and click the left mouse button twice to select it. Double
Clicking (pressing the left mouse button twice in rapid succession)
has the same effect as pressing the Enter key.
Previous Key (Alt-F1)
Press the PREVIOUS button (Alt-F1) to "back up" one page to the
previously-selected HELP topic.
Index
An alphabetical listing of every on-line help entry.
Contents
Help entries organized by subject and category.
Help-with-Help
You can use PHONE's on-line Help from the Help menu or via hot
keys.
Wherever you are in PHONE, you can press F1 to see a help
screen about the menu command or dialog-box item that's
currently active.
To learn more about using on-line Help, use the arrow keys
to move the cursor to one of the Help keywords; then press ENTER.
You can also press TAB to jump to the next Help keyword, and then
press ENTER.
If you're using a mouse, just click the Help keyword you're
interested in.
The Primary Screen
The Primary Phone Screen consists of four parts: a top Menu Bar, a
message space below, a Transaction Log window where the progress
of the connection can be observed, and a lower Status Bar.
The Menu Bar
The Menu Bar consists of the primary groups of PHONE commands
available on pull-down menus. You can open these menus by
selecting a given Menu Bar item with the mouse (by positioning the
cursor over a given item and clicking the left button), or by pressing
keys for those who don't use a mouse.
Selecting from the Menu Bar
There are three ways to select a menu command:
F10
Press F10, then use the left and right arrow keys to select the
appropriate menu and use the the up and down arrow keys to select
a command. Press Enter to choose the selected command.
Alt
Press Alt and the highlighted letter of the menu you want (such as
Alt-F for the File menu), use the up and down arrow keys to select a
command, then press Enter to choose that command.
You can also press the highlighted letter of a menu name or
command instead of using the arrow keys.
Mouse
Click on the title of the menu you want to pull down, then click on
the menu command you want to choose.
The highlighted menu title is the currently selected menu.
Menu commands are followed by an ellipsis (...), an arrow, or a hot
key. An ellipsis indicates that selecting that option will bring up a
dialog box, as opposed to immediately initiating a program action.
The System (Alt-Space)
The System appears on the far left of the menu bar and is
represented by the = symbol. Alt-Spacebar is a keyboard shortcut
that you can use at any time to pull down this menu.
The = menu contains the "About" item. Some other programs will
provide some utilities under this menu.
About
When you choose the About command from the System menu, a
dialog box appears, showing copyright and version information.
Press ESC, click OK, or click Cancel to close the box.
Actions (Alt-A)
Phone can either Dial (F2) to establish a SLIP connection, or
Hang Up (F3) to break the connection and clear the phone line.
Finally, you can Exit (Alt-X) from the program.
Dial (F2)
Once you have used the Setup options to configure your modem and
to enter your user name and password, the DIAL command will
place the call and establishing the SLIP connection.
You can watch the lower Transaction Log window to observe the
progress of the connection.
After you have configured the DIAL menu, you can also type the
command PHONE DIAL from DOS. This will run PHONE and attempt
to establish the SLIP connection with no further commands on your
part.
If the program fails to establish the connection for some reason, it
will return an ERROR CODE, id used in DOS batch files (such as the
SLIP.BAT file, see above) to decide whether to proceed to the next
command in a batch file.
You can begin dialing by using the mouse to click on Actions:Dial, by
typing Alt-A then D, or by pressing the F2 key.
Hangup (F3)
If your modem is already connected to a SLIP server or any other
service, HANGUP will disconnect it and hang up the phone. You can
also do this by typing the command PHONE HANGUP from DOS.
You can hang up by using the mouse to click on Actions:Hangup, by
typing Alt-A and then H, or by pressing the F3 key.
Quit (Alt-X)
Use the Exit command when you are done using PHONE.
Note that this does not hang up the phone or break your SLIP
connection (see the Actions:Hangup command). It simply quits from
the PHONE.EXE program.
You can quit PHONE by using the mouse to click on Actions:Exit, by
typing Alt-A and then X, or by typing Alt-X.
Setup (Alt-S)
Before you can establish a SLIP connection, you need to configure
both your Modem parameters (F4) (Baud Rate, Word Length, etc.)
and your SLIP parameters (F5) (Username, Password, etc.)
Modem (F4)
The settings in this dialog box are used to tell your computer how to
talk to your modem. The speed of the modem, where it's connected,
and what kind of modem it is are among the characteristics which
need to be set so that your computer and modem can communicate.
While this window may look complex, you should need to set only a
few of the options. You will need to select the Baud Rate, Com Port,
and Modem List entries will need to be set, but the Advanced entries
are likely to be fine the way they are.
Baud Rate
The Baud Rate is the speed at which modems and computers talk to
each other.
If your modem does not feature data compression, click on the
highest baud rate at which your modem can communicate. If your
modem does feature data compression, click on a rate 2 to 4 times
higher than the highest baud rate at which your modem can
communicate. Examples:
If you have a Hayes (TM) SmartModem 1200, a modem that does not
do data compression, click on 1200.
If you have a Multi-Tech (TM) MultiModem II, which is a 9600 baud
modem with data compression, click on 19,200 or 38,400.
If you choose a baud rate higher than that at which your modem can
communicate, you'll also have to check the boxes labeled CTS and RTS
Handshaking (see below). This prevents your modem from
overwhelming your computer with data.
Data Errors
Your modem may be able to detect transmission errors (caused by
static on the line, for instance) and correct them. It corrects the
error by signaling the remote computer that an error occurred, and
requesting that the block of data be sent again. If errors occur, your
final Baud Rate may seem to be much lower than that set.
Transmission Bottlenecks
In any SLIP connection, several devices are transferring information
in a "bucket brigade". No matter the settings you use, the line can
only go as fast as the slowest device. For example, you might set
your computer's baud rate to talk to its modem at 9600 baud.
However, the modem itself might only be a 2400 baud modem.
Therefore, you'll only see 2400 baud transfers on your screen.
Data Compression
Finally, a factor which speeds things up instead of slowing them
down. Data compression is a means by which slow modems can send
data faster than would normally be possible. If your modem
supports data compression (and this will be clearly indicated on the
box at time of purchase, as it is a strong selling point), it will look at
the data that it receives to see if there are any ways in which the
data can be reduced in size. For example, if it receives the letters
"aaaaaaaaa", it might compress them into "9*a". Of course, the
modem on the other end of the telephone must know how to de-
compress this data correctly.
COM Ports
Most IBM-compatible computers come with four possible
"Communications Ports". Usually only one or two of these is built in
and others must be added separately. These built in ports are COM1
and COM2. If you are not sure which port your modem is connected
to, start with COM1, then try COM2. If nothing works, you may have
to seek assistance in determining your setup.
COM 1
The most commonly-used Communications port is COM1. Click on the
COM1 button if your modem is plugged into the COM1 port. You'll
have to figure out what plug-in on your computer is the COM1 port
as they are rarely labeled.
If your computer has COM1 and COM2 already occupied, or you have
some special cards that use the COM interrupts, you may have your
COM ports at a non-standard address (see below).
COM 2
COM2 is also frequently used for communications. If you have a
mouse connected to COM1, you will want to use COM2 for
communications.
COM 3 and COM 4
COM3 and COM 4 are not as commonly used as COM1 or COM2. Part
of the reason for this is that these ports use the same Interrupt
signals as COM1 and COM 2 (Interrupts 4 and 3, respectively). For
example, if you have a device on COM1, you cannot put a device on
COM3, because whenever the computer sends a signal to COM1 both
devices will try to answer at once.
Nonstandard Ports
For individuals who have filled their standard (COM1 through COM 4)
ports, several nonstandard ports are available, but not
recommended:
COM5 is actually COM3, but using interrupt level 2.
COM6 is actually COM4, but using interrupt level 2.
COM7 is actually COM3, but using interrupt level 5.
COM8 is actually COM4, but using interrupt level 5.
Real techweenie stuff
Below is a chart of I/O addresses and Interrupt levels. Most users
won't have to worry about this. If you have your COM port at a
non-standard I/O address or interrupt level, then you'll have to
consult this chart to figure out what COM port your serial port uses.
Unfortunately there are two sets of these numbers, one for non-
MicroChannel PC's and one for MicroChannel PC's. MicroChannel PC's
are mainly IBM PS/2 models 50 and above.
MicroChannel ISA/EISA
PORT IRQ I/O Address PORT IRQ I/O Address
com1 4 03f8 com1 4 03f8
com2 3 02f8 com2 3 02f8
com3 3 3220 com3 4 03e8
com4 3 3228 com4 3 02e8
com5 3 4220 com5 2 03e8
com6 3 4228 com6 2 02e8
com7 3 5220 com7 5 03e8
com8 3 5228 com8 5 02e8
Modems
It's important to know what kind of modem you are using when
establishing a SLIP connection. The Modem List displays built-in
scripts for operating Hayes, ADI-100, and other kinds of modems. It
is possible to build customized scripts if your modem is not listed
(see SCRIPTS below).
HAYES
As the standard by which other modem command sets are measured,
the Hayes script ought to be compatible with any modem. Of course
it isn't, which is why customized scripts are needed (see SCRIPTS
below).
ADI
The University of Minnesota's internal telephone system operates
over a digital network, allowing both voice and computer data to be
transmitted over the same phone line, and allowing for the routing of
computer data into the SLIP server without using a standard modem.
Instead, offices at the University which do not yet have a standard
network connection can order an ADI-100 transceiver with MKO
(Machine Keyboard Originate) enabled. For information about this
procedure, U of M staff can contact the Telecommunications
Department at 6-7800.
The ADI script is to be used with these ADI-100 connections.
Other
We will add other modem scripts to this list as time for testing
allows. If you create a customized script which you think would be
useful to others, please feel free to send it to us at
slip@boombox.micro.umn.edu
Advanced Configuration
Parity
Parity Checking is the means by which your computer can make sure
that transmitted data is getting through correctly. Different hosts
need different parity settings.
Odd Parity means that the parity of all data words received should
be set odd.
Even Parity means that the parity of all data words received should
be set even.
Mark Parity means that no error checking is conducted, but the
parity bit is always set to one. Nobody uses it. There is no truth to
the rumor that Mark Parity invented the first modem.
Even fewer people use Space Parity than Mark parity. Space parity
means no error checking is conducted, but the parity bit is always
set to zero.
Stop Bits
Stop Bits are used to separate words of data. The more stop bits
employed, the longer the pause between data words. This used to be
an issue when data transmission technologies were new, but
nowadays stop bits are not quite as important. One is usually
sufficient.
Two stop bits are usually more than are necessary.
Handshaking
Handshaking is the means by which two computers tell each other
when they are able and unable to accept further data. There are two
ways to do this: Software and Hardware.
Software Handshaking
Software handshaking controls data flow by sending a signal called
"XON" for "Transmit On" (usually a control-Q), or "XOFF" for "Transmit
Off" (control-S).
The problem with this method is that if you send an XON or XOFF
signal inadvertently (for instance, by sending a binary file which
happens to contain a control-S character), your computer will
interpret this as an XOFF and stop sending.
So for SLIP transmissions, it usually best to use either NO
handshaking, or to use the other method of handshaking, Hardware
Handshaking.
Hardware Handshaking
Hardware handshaking depends on the actual pins connecting your
computer to your modem to control data flow. If you are using a
cable which does not have wires connecting pins number 4 and 5 (on
a 25-pin cable or 7 and 8 on a 9-pin cable) , hardware handshaking
will not function. The two signals carried on these pins are Clear-To-
Send CTS and Request-To-Send RTS.
CTS, or Clear-To-Send Handshaking, sets pin 5 of your serial port
either ON or OFF depending on whether or not your computer is
ready to receive more data from your modem.
RTS, or Request-To-Send Handshaking, sets pin 4 of your serial port
either ON or OFF depending on whether or not your computer is
ready to send more data to your modem.
If you are using a modem with data compression, set CTS and RTS
handshaking ON, otherwise leave it OFF.
Signals and Cables
There are nine signals which comprise the serial communication
signals from your computer to its modem (see table below). These
signals are carried between your computer and modem by a modem
cable. While nine signals are available, it is possible to skimp and get
by on only four of the nine signals: SD, RD, DSR and DTR. Sometimes
cable manufacturers will produce inexpensive cables by only running
four wires carrying these signals between the ends of the cable.
SLIP communications are much more demanding, and require all
nine signals to be present. Be sure to use serial cables with all signal
lines in place. One way to be sure is to purchase "flat" or "ribbon"
cable, which carries all 25 lines in a flexible plastic ribbon.
Table. Serial communication signals and pins.
Signal Description Code 25 Pin # 9 Pin #
Transmitted Data SD 2 3
Received Data RD 3 2
Request to Send RTS 4 7
Clear to Send CTS 5 8
Data Set Ready DSR 6 6
Signal Ground SG 7 5
Carrirer Detect CD 8 1
Data Terminal Ready DTR 20 4
Ring Indicator RI 22 9
Plugs
There are two kinds of plug to be found on modem cables. The first
kind, 25-pin, is a wide, flat plug with two rows of pins. Only nine of
these signals are used for serial communications, even if all 25 pins
are present (sometimes the unused pins are left out of the plug
itself).
The second kind of plug is a 9-pin connector. It has one pin for
every signal necessary for serial communications. The table below
indicates which pins carry which signal on each kind of plug.
Note that hardware handshaking will only work if the cable between
your modem and PC has the proper wires carrying Request to Send
and Clear toSend (pins 4 and 5 on a 25-pin connector, 7 and 8 on a 9-
pin connector) running from end to end. If your modem cable does
not carry all nine signals, you will need to purchase a cable with all
lines in place.
Dialing
Touch tone dialing is present when you can place a call by dialing
with musical tones. Sometimes you might think you have touch tone
because you have a fancy telephone which has buttons; but if it
doesn't actually complete your call until doing a lot of clicking, it's
likely converting your button-pushes into pulse signals.
Determine which type of telephone service you have, and select
either Tone or Pulse . When in doubt, use Pulse.
Initialization String
You may wish to send some command to the modem to meet some
special need. The string you type in this box gets sent to the modem
just before dialing is done. It is sent after the modem script has sent
its options.
SLIP (F5)
Configuration Window
A SLIP server is usually implemented with some form of security.
PHONE can be configured to respond correctly to your SLIP server's
security system by entering the proper values in the fields in this
window.
User Name
Enter your username as
username@computer.full.tcp.name
for example:
joe0024@student.tc.umn.edu
Password
Enter the password that goes with your username here.
It will not be displayed on the screen, so be sure to get it right.
Phone Number
Enter the phone number in this box.
As of Feb, 1993 some commonly used phone numbers (in Minnesota)
are:
% The Univ of Minn SLIP server for most modems is 626-1920.
% The Univ of Minn SLIP server when on-campus is 6-1920.
% The Univ of Minn SLIP server for ADI modems is 3-0291.
% The MRNET SLIP server is 626-7638.
If you are in a different area code, you'll need to prepend the area
code to these numbers. In some area codes you also need to prepend
a 1.
Special Dialing Considerations
If you need to dial out from a hotel phone, or an office telephone
system, you may have to prepend a 8 or 9 to dial out of that local
phone system. You may also have to add a comma to add a bit of
delay after the 8 or 9. For example, to call the the U of M from a
hotel in California, you may have to specify:
8,1,612,626-1920
If you have call-waiting, your SLIP connection may occassionally be
interrupted by incoming telephone calls. Depending on the service
available in your area, you may be able to suspend call-waiting for
the duration of one call. This is accomplished with a special dialing
sequence which precedes the actual phone number
Tone Pulse
*70 1170
To suspend call waiting from an off-campus telephone calling the
University of Minnesota, you would enter the phone number as
*70,6261920
or if using pulse dialing
1170,6261920
You may wish to test for this feature by hand before incorporating it
into your dialing sequence.
Server Window
A SLIP server is the remote computer which will be your gateway to
the TCP/IP network. If more than one gateway exists, this window
will holds the list of gateways to choose from. If only one gateway
exists, this window will not appear. This list will vary from one local
network to another.
University of Minnesota students & staff should pick the UofM
server.
Time Display
For your convenience, the current time is displayed in the upper
right-hand corner of the screen. This can be a useful device for
determining the timing of events if you happen to be writing a
custom script (see SCRIPTS below).
The Lower Status Bar
The lowest line on the screen is a status bar which will change to
offer you assistance with whatever portion of the program you
currently have active. This bar has two parts:
Active Keys display
The left-hand portion shows active help keys highlighted in red, with
their names beside them in black. For instance, at any time you can
press the F1 key to get Help with the current active item, so the
Active Keys display will usually show at least "F1 Help".
Context-Sensitive display
The right-hand portion of the Lower Status Bar indiciates the
purpose of the currently active item. For instance, if the cursor is in
the Transaction Log window, the right-hand portion of the Lower
Status Bar reads "This window displays what is happening during a
login.", which is the function of the Transaction Log window.
Transaction Log Window
This window is where you can watch the interaction between your
computer and the remote computer which will provide SLIP service.
Labelled horizontal status bars indicate when important steps in the
login sequence are completed or fail to complete correctly.
Command-line operations
From the DOS command line, you can type
PHONE DIAL
to connect to the SLIP server, or
PHONE HANGUP
to disconnect from the SLIP server. In some cases
PHONE FORCE <command>
where <command> is either DIAL or HANGUP may be necessary. Try
these if PHONE is complaining that the modem is misbehaving.
PHONE WRITE
PHONE comes with several script files built in. These include the
individual modem dialing scripts such as HAYES and ADI (see The
Primary Screen: Setup: MODEM above), plus the HANGUP command.
The PHONE WRITE command will extract these scripts into a file
called PHONE.CMD. For more information, see the SCRIPTS section
below.
PHONE ?
Prints a brief description of the PHONE command-line options.
Scripts
Until now, using SLIP was difficult. First you had to call a SLIP
modem pool, using a modem and a communications program such as
PROCOMM. Then you would tell the modem pool that you wanted to
use SLIP, and receive an IP address for the session. Then you would
exit the communications program, being careful not to disconnect
your modem (by leaving DTR on for you experts), and edit a
configuration file, adding your IP address to the configuration.
Finally, you would load your packet driver and you could use Telnet
or FTP.
This was very cumbersome.
The PHONE program is designed to automatically connect to a local
SLIP server, configuring your computer and loading the UMSLIP
packet driver. Ideally you can establish a SLIP connection simply by
using the command:
PHONE DIAL
from the DOS command line, or a batch file, and be connected
"automagically" .
Built-in scripts
To accomplish this task, PHONE understands a built-in scripting
language. This lets you custom design a script to work at your
particular site. You have to customize the script for each site for two
main reasons: (1) Each model of modem is slightly different and
needs different commands. (2) Each SLIPserver will have its own
custom prompt lines and will require different information for
logging on and entering SLIP mode.
We supply some generic scripts that work with Hayes-like modems
to dial our local U of MN SLIP server. You can probably customize
this script for your particular site. See the scripting language guide
which follows.
How to make custom scripts
PHONE comes with several built-in scripts. However, these scripts
are not likely to work for anyone who is not at the University of
Minnesota. Therefore, it will be necessary for many people to create
customized scripts.
PHONE WRITE
The first step in the process of creating customized scripts is to write
the built-in scripts out to a file. It is often easiest to customize an
existing script rather than to start from scratch. The PHONE WRITE
command writes the scripts out to the PHONE.CMD file.
PHONE.CMD
If the PHONE.CMD file is present in the directory with PHONE.EXE,
PHONE will read in PHONE.CMD rather than its built-in scripts.
With the SLIPScript language (see below), it's easy to create and use
customized SLIP scripts.
The SLIPScript Language
SLIPScript is a simple language for setting up the serial line, sending
characters, waiting for a character string.
Each SLIPScript script must contain at least two procedures, named
"Dial" and "Hangup". The "Dial" script should contain commands to
open the SLIP connection. The "Hangup" script should contain
commands to close the serial connection.
SLIPScript Elements
# comment
You can enter any text after a # character. This text will be ignored
by the command processor.
The # comment can be on a line by itself, or appended to the end of
another command line.
command param1 param2 param3
SLIPScript commands consist of a keyword. Valid command
keywords are: Proc, EndProc, Send, Serial, Expect, DTR, Repeat, Flush,
TimeOut, Wait, and Set.
Some commands take parameters. Parameters are separated by
spaces. If you need a space inside a parameter, enclose the whole
thing in quotes ("").
The TimeOut, Wait and Repeat commands take a time in seconds.
You can specify fractions of a second, i.e. 0.5 or 2.5 seconds.
SLIPScript commands
Procedure and EndProcedure
The "Proc" statement identifies the beginning of a procedure.
Procedures continue until the next "EndProc" statement.
Example:
#
# This is the shortest possible script
#
Procedure Modem.Hayes.Dial
EndProc Modem.Hayes.Dial
The proc name has three parts, separated by dots. The first part is
either "Modem" or "Host". The second part is the name of the modem
or host. The third part is either "Dial" or "Hangup" for a modem
script, or "Login" and "Logout" for a Host Script.
Join
The join command lets you continue execution in another script. For
instance, many modems need some initial setup commands, then
they can join the standard Hayes modem script. The join command
eliminates much duplicate scripting.
Serial
The "Serial" command lets you set up the serial port. You can choose
which serial port to use, what baud rate to use, and choose even, odd,
or no parity. You can also choose whether to use hardware
handshaking. The parameters are:
COM port
Selects the COM port to use.
7 or 8
Selects 7 or 8 data bits.
9999
Any string of 3 or more digits means a baud rate. Valid values are
300,1200, 2400, 4800, 9600, 19200, 38400, 57600.
E, O, N
Selects Even, Odd, or None parity.
hi+ or hi-
Sets input hardware handshaking on (+) or off (-).
ho+ or ho-
Sets output hardware handshaking on (+) or off (-).
Examples:
Serial Modem 1200 # simple 1200 baud modem
Serial Modem 38400 hi+ ho+ # fancy v32 modem
Notes:
Once established in SLIP mode, SLIP connections must be 8 data bits.
You may have to choose 7 data bits first to talk to the modem, PBX,
or the terminal server.
YouUll need hardware handshaking if you are using a modem with
data compression.
YouUll also need hardware handshaking if your modem auto-connects
at a different baud rate than the one it is talking to. Otherwise it is
safer to use the default ( hi- and ho-). See the section on Hardware
Handshaking for a discussion of hardware handshaking.
You may lose some incoming characters if they arrive just as the
Serial command is being executed. It is best to place the serial
command at spots where you know is quiet.
Send
You use the Send statement to send out a stream of characters.
Anything you place on the same line after the "Send" keyword will
go out the serial line. It is best to put the string in quotes ("") to
avoid ambiguity.
There are a few special characters that have special meaning:
< (less-than sign)
The less-than sign means send an ASCII "Return", or end of line
character. For example, to get the attention of a Hayes-style modem:
Send AT<
%
The percent sign means to insert a variable in place of the % sign.
The character following the % is a letter from a-z identifying the
variable.
Predefined variables include:
%n
for the phone number entered into the SLIP user dialog box.
%u
for the user name entered into the SLIP user dialog box.
%p
for the password entered into the SLIP user dialog box.
%s
for the custom init string entered into the SLIP modem dialog box.
^ (caret sign)
The up-caret lets you send any control character. For instance you
can get the attention of a ADA 2020 modem by sending Control-Q:
Send ^Q
To send the caret character itself, send two carets together (e.g. ^^).
#
Remember that the # starts a comment.
You can define other variables with the"Set" command
There is a 1 second pause before each send command. There is a
1/10 second pause between sending out each character, in order to
simulate typing speed.
SendDT
You use the SendDT statement to send the two forms of the dialing
command. The first parameter is the pulse dialing command, the
second the tone dialing command. For a Hayes modem, this is:
SendDT 'AT DP %n' 'AT DT %n'
Expect
The Expect statement has two parameters. The first is a string of
characters to wait for. The second is an error message to display if
the string is not seen. The strings are not case-sensitive.
It waits for the default time of 10 seconds. If it doesnt get the
specified string in that time, the script displays the error message,
quits execution and SLIP signals connection failure to the application.
Example: Getting the ModemUs attention:
Send 'AT<'
Expect 'OK' 'Did not get OK'
Reject
The Reject statement detects error conditions. The Reject statement
has two parameters. The first is a string of characters to wait for.
The second is an error message to display if the string is seen. The
strings are not case-sensitive.
You can have any number of reject statements. It waits for the
default time of 10 seconds. If it does get the specified string in that
time, the script displays the error message, quits execution and SLIP
signals connection failure to the application.
If you dont specify an error message, the current "alert" string is
used.
Example: Getting the ModemUs attention:
Send 'AT DT6-1920<'
Reject 'BUSY' 'Phone line is busy'
Reject 'NO CARRIER' 'No modem answered'
Expect 'OK' 'Did not get OK'
TimeOut
You can change the timeout interval for the next Expect statement
with the TimeOut command. The TimeOut command takes two
parameters. The first is the number of seconds to wait before timing
out. The second parameter is an error message to display upon
timeout.
For example, if your phone system is slow to dial and connect, you
may want to say:
Send 'AT DT 636-1630<'
TimeOut 45 'Did not get connect in 45 seconds'
Expect 'CONNECT'
Repeat
The repeat command is useful when you have to retry sending a
string of characters to get attention. For instance, many systems
require an indeterminate number of ASCII Return characters to
detect your baud rate. The repeat command makes this easy. You
can specify the number of repeats and the time interval between
repeats:
Example: to get the attention of a certain terminal server:
Repeat '<' 'access:' 20 2.5
Will send "<" which is the special character meaning ASCII Return,
until it receives the string"access:". It will try up to 20 times, with a
2.5 second pause between attempts.
Or to get the attention of a certain modem that is slow to detect the
baud rate:
Repeat 'AT<' 'OK' 5 1.0
You need not specify the repeat count and pause time. The default
repeat is 10 and default pause is 1.0 seconds.
Since the repeat command takes several parameters, you should
enclose strings in quotes to avoid any confusion as to which
parameter is which.
Example:
Repeat "<" "Please log in now:"
Wait
The wait command pauses for the specified number of seconds. This
is usually the wrong way to control interactions. It is better to use
the "Expect" command to wait for a particular prompt. But
sometimes a pause is the only way to meet some login requirement.
Example: Calling out through a slow PBX
Send "Dial 8<" # Get an outside line
Wait 5.0 # Wait 5 sec for slow PBX
Send 'Dial %n' # send the phone number
DTR
Some modems or PBXUs don't respond until the DTR line (RS-232 pin
20) is asserted. The DTR command lets you control the DTR line.
Examples:
DTR On Asserts DTR
DTR Off Drops DTR
DTR Drops DTR, waits 1 second, asserts DTR
Note that many serial cables send the DTR line out pin 8, requiring a
special cable or adapter to move this to pin 20. See Signals and
Cables above.
Flush
Sometimes you want to ignore any pending input characters as they
may be misleading. The Flush command throws away any pending
input characters. You often want to do this when you expect some
"logon banner" that might have some unpredictable text. Flush that
stuff before you try to do an "Expect".
Example:
Send 'AT DT 636-1630<'
TimeOut 45
Expect 'CONNECT' # wait for modems to connect
Flush
Repeat "<" "login:" 20 1.0 # hit return til login
Set
The set command lets you set up variables that you use again and
again. You can set them up in one place instead of repeating them
over and over. The syntax is:
Set x something
Sets the variable x to the value "something". x can be any letter from
a to z. Something can be anything including other % variable
references.
Example: Your terminal server prompts with "Server #0001 for the
Main Campus:"
Set %h "Server ##0001 for the Main Campus:"
Send 'ATDT 636-1630'
Expect 'CONNECT'
Repeat '<' %h 20 2.0
Send 'terminal NoEdit<
Expect %h
Send 'terminal FlowControl None<'
Expect %h
Send 'terminal baudrate 9600<'
Expect %h
Send 'terminal databits 8<'
Expect %h
Writing a script
If possible, modify an existing script instead of writing a new one
from scratch. The best way is to try connecting with a terminal
emulator, saving the output to a file. This log file will guide you in
writing the script.
You'll have to note places where you had to pause for something to
respond. Writing a script can be easy or difficult. Many dial-up
ports a bit non-deterministic and you'll have to play with the Repeat
command until things work right.
When you write your script, make use of the variables the user has
set up in the PHONE menu, i.e. don't hard code "636-1630" as the
phone number, use the %p phone number variable.
Debugging a script
Try out scripts by choosing them in the Modem settings dialog box.
PHONE will run your Dial script. It may fail at first. The most likely
failure is an Expect command failing. If an "Expect" command fails, it
will show you what it expected and what it actually received. Edit
the script and try again.
Remember to send a Return at the end of lines that expect a Return.
The Send command never sends a Return for automatically.
Alert
You can put up custom messages in case of error conditions. With
the "Alert" command you can specify a message that will be put up if
an Expect command fails. e.g.:
Alert "Your modem may not be on?"
Send 'AT<'
Expect 'OK'
If PHONE doesnt get an "OK" in the specified time, the user will see a
dialog box with "Your modem may not be on?".
Message
You can also put up an informative message to the user to keep them
appraised of how the dialing procedure is going. Normally PHONE
displays each command as it is executed. If you use the Message
command, that string will be displayed instead of the commands.
Your message will remain displayed until you change it with another
Message commmand, or until the script ends. e.g.:
Message "Getting the modem's attention"
Send 'AT<'
Expect 'OK'
Message "The modem is responding!"
Let us know about your scripts.
We will add other modem scripts to our list as time for testing
allows. If you create a customized script which you think would be
useful to others, please feel free to send it to us at
slip@boombox.micro.umn.edu